关于Windows:升级期间替换文件 您所在的位置:网站首页 deletefile failed code 5 拒绝访问 关于Windows:升级期间替换文件

关于Windows:升级期间替换文件

2024-06-16 20:46| 来源: 网络整理| 查看: 265

我们使用Inno Setup(版本5.4.2)作为打包工具来生成我们的安装程序。在将我们的软件从旧版本升级到当前版本时, 我们尝试覆盖现有的二进制文件/驱动程序。由于某些监视软件(例如" HP ArcSight Logger / Connector"," SplunkUniversalForwarder"等)将文件句柄保存在我们的二进制文件中并导致覆盖失败,因此通常会导致问题。每次遇到此问题时,我们的安装程序都会显示以下弹出消息。

" C:\ Windows \ System32 \ drivers \ xxx.sys

尝试替换现有文件时发生错误: DeleteFile失败;代码5。 访问被拒绝。

单击重试重试,单击忽略以跳过此文件(不推荐),或单击中止以取消安装"

有趣的是,即使在上述弹出窗口之后,我们仍然可以手动将xxx.sys重命名为xxx.sys.old。我们曾经建议cusotmers重命名 xxx.sys到xxx.sys.old并"重试"安装。重命名后,升级可以正常完成,没有任何问题。

问题

1)当我们遇到此问题时,是否可以通过程序始终重命名xxx.sys。

2)任何复制DeleteFile的过程均失败;代码5问题?

相关讨论 安装驱动程序很复杂,最好留给专门的助手。 请参阅上一个问题。

使用安装程序,您可以重命名现有文件并在Windows注册表的帮助下使用正确的文件名安装新文件。请记住要求用户重新启动计算机以完成安装。另一种选择是使用安装程序重命名该文件,然后再次使用窗口的注册表删除不需要的文件。

Window的注册表允许您在重新启动时删除或重命名文件,作为安装的一部分。

使用PendingFileRenameOperations的参考: http://support.microsoft.com/kb/181345

从Microsoft支持重命名的示例: 使用的语法是(不带引号): " \ ?? \源文件!\ ?? \目标文件"

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager 值名称:PendingFileRenameOperations数据类型:REG_MULTI_SZ 值数据:\ ?? \ c:\ temp \ win32k.sys!\ ?? \ c:\ winnt \ system32 \ win32k.s

尽管需要使用空值,但是相同的命令也可以用于删除文件。 http://www.pcreview.co.uk/forums/pendingfilerenameoperations-delete-file-t1715654.html

用于删除文件的相同示例: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager 值名称:PendingFileRenameOperations数据类型:REG_MULTI_SZ 值数据:\ ?? \ c:\ temp \ win32k.sys \ 0 \ 0 \ 0

我希望这可以帮助你!

相关讨论 现在,在使用重命名文件升级之前,我们将xxx.sys重命名为xxx.sys.old。我的问题是,当我们点击DeleteFile失败时,是否可以通过程序始终重命名xxx.sys;代码5问题。 上面的注册表项也将在计算机重新启动时删除正在使用的文件(就像restartreplace一样,但是我没有提到使用该命令删除文件),这样它就不会作为未使用的文件保留在系统中。如原始张贴者所述,他们无法在使用文件时(在安装过程中)删除文件,因此必须在重新启动后删除。 仅使用" restartreplace"用户必须在使用软件之前重新引导系统,旧文件将保留其当前名称,直到重新引导为止。通过在安装过程中重命名文件(使用renamefile)并使用(删除后安装)或注册表来删除旧文件,用户将不需要重新启动即可使用该软件。两者都是有效的选项。 更正后," deleteafterinstall"将不起作用。必须使用注册表在重新启动时执行删除。我找不到使用" restartreplace"执行相同操作的任何提及。 您可以通过RestartReplace支持功能从[Code]执行此操作。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有